T is an object-oriented language. T programs are concerned for the most part with creating and manipulating objects, which represent all data, and form the currency of computation in T. Particular objects are defined not by bit patterns or by addresses within a computer but rather by their behavior when called or when passed to procedures which manipulate them.
Objects are obtained most primitively through the use of QUOTE
(page ), LAMBDA (page
), and OBJECT
(page
) special forms, and less primitively by calling
procedures defined in the standard environment, e.g. CONS and
COMPOSE, which create new objects or return existing ones. (An
implementation of T would presumably define many such procedures
using more primitive object constructors; for example, COMPOSE
might be defined by a T program which employs LAMBDA to
construct the composed procedure. Thus the question of what kinds of
objects are truly primitive and which are not is left unanswered by this
manual.)